fix: Onyx.clear
handle collections and regular keys with an underscore (attempt Nr.2)
#578
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Details
Warning: This PR is based on this PR, which should be merged before this one:
(otherwise some tests of this PR would fail)
The clear method wasn't working correctly for keys that have an underscore in their name, but are none-collection keys (e.g.
nvp_isFirstTimeNewExpensifyUser
).With this PR and the aforementioned all expensify tests are passing (right now, when bumping to latest they are broken due to this PR)
Related Issues
#569
Automated Tests
Added a test that will run a bunch of modifications to a key which is using an underscore for its name. The succession of changes would fail without these changes.
Manual Tests
n/a, confirmed that the expensify test suite is passing
Author Checklist
### Related Issues
section aboveTests
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Note: Only tested and web and assumed other platforms to work (as this only concerned the .clear method which is called during logout)
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
Screen.Recording.2024-07-30.at.22.19.32.mov
MacOS: Desktop